
package com.bitoon.basketdudes.web.admin;

import com.opensymphony.xwork2.ActionContext;
import java.io.*;
import java.util.*;
import org.apache.log4j.Logger;
import org.apache.struts2.ServletActionContext;

public class LectorFicheroPaises {

    private ArrayList<Pais> listaPaises;
    private String ruta;
    private Logger log = Logger.getLogger(LectorFicheroPaises.class);
    private String idioma_navegador;
    private Map session;

    public LectorFicheroPaises(){
        listaPaises = null;
        idioma_navegador = "";
        ruta = "/WEB-INF/classes/resources_admin/";
        session = ActionContext.getContext().getSession();
    }

    public void leerFicheroPaises(){
        File archivo = null;
        FileReader fr = null;
        BufferedReader br = null;

        //comprobamos el idioma
        idioma_navegador = (String)session.get("bd_lang");
        
        if (idioma_navegador.compareToIgnoreCase("es")==0) {
            ruta = ruta + "paises_es.txt";
        }else{
            ruta = ruta + "paises_en.txt";
        }

        try {
            // Apertura del fichero y creacion de BufferedReader para poder
            // hacer una lectura comoda (disponer del metodo readLine()).
            archivo = new File (ServletActionContext.getServletContext().getRealPath(ruta));
            fr = new FileReader (archivo);
            br = new BufferedReader(fr);

            // Lectura del fichero
            String linea;
            StringTokenizer st= null;

            listaPaises = new ArrayList<Pais>();
            while((linea=br.readLine())!=null){
                st = new StringTokenizer(linea, "#");
                listaPaises.add(new Pais((String) st.nextToken(), (String) st.nextToken()));
            }

            log.debug("[leerFicheroPaises] OK");
         }
         catch(Exception e){
             log.debug("[leerFicheroPaises] Error: " + e);
         }finally{
             // En el finally cerramos el fichero, para asegurarnos
             // que se cierra tanto si todo va bien como si salta
             // una excepcion.
             try{
                if( null != fr ){ fr.close(); }
             }catch (Exception e2){ log.debug("[leerFicheroPaises] Error: " + e2); }
         }
    }

    public ArrayList<Pais> getListaPaises() {
        return listaPaises;
    }

    public void setListaPaises(ArrayList<Pais> listaPaises) {
        this.listaPaises = listaPaises;
    }

    public String getRuta() {
        return ruta;
    }

    public void setRuta(String ruta) {
        this.ruta = ruta;
    }
}
